package com.bdqn.easybuy1.dao;

import com.bdqn.easybuy1.entities.Order;

import java.sql.Connection;
import java.util.List;

public interface OrderDao {
    /**
     * 添加订单
     *
     * @param order 保存订单信息
     * @return 受影响的行数
     */
    int insert(Connection conn, Order order) throws Exception;

    /**
     * 根据ID删除订单
     *
     * @param id 要删除的订单ID
     * @return 受影响的行数
     */
    int deleteById(Connection conn, Integer id) throws Exception;

    /**
     * 根据ID得到一个订单对象
     *
     * @param id 要查询的订单ID
     * @return 订单对象
     * @throws Exception
     */
    Order getOrderById(Connection conn, Integer id) throws Exception;

    /**
     * 分页查询订单
     *
     * @param userId     用户ID
     * @param startIndex 开始索引，从0开始
     * @param pageSize   每页显示的数据条数
     * @return
     * @throws Exception
     */
    List<Order> getOrderList(Connection conn, Integer userId, Integer startIndex, Integer pageSize) throws Exception;
    /**
     * 查询订单条数
     *
     * @param userId 用户ID
     * @return 查询到的数据条数
     */
    Integer getOrderCount(Connection conn, Integer userId);
}
